home *** CD-ROM | disk | FTP | other *** search
- ⓪ DEFINITION MODULE GMEKernel;
- ⓪ (*$Z+*)
- ⓪
- ⓪ (* DEFINITION MODULE EditKernel; *)
- ⓪
- ⓪ (* The Little Golem Editor. Begonnen 13. 06. 86
- ⓪#(C) 1986, 1987, 1988, 1989, 1990 by Johannes Leckebusch.
- ⓪#Version: Siehe ceditor
- ⓪#
- ⓪#TT 14.12.90 "BlockMarkiert" exportiert
- ⓪ *)
- ⓪
- ⓪ (* Bemerkung: StringZeilen werden als >>Zeile<<, Pointer-Objekte
- ⓪#als >>Line<< bezeichnet *)
- ⓪
- ⓪ FROM GMEBase IMPORT einPufferPointer, eineInfo, einLinePointer,
- ⓪"eineZeile;
- ⓪#
- ⓪ FROM GMEBase IMPORT CharSet;
- ⓪ FROM GMEConfig IMPORT einTasteneintrag;
- ⓪
- ⓪ PROCEDURE StelleZeileEin (Puff: einPufferPointer;
- ⓪:n, offset: CARDINAL);
- ⓪"(* Zeiger auf die nte Zeile einstellen *)
- ⓪
- ⓪ PROCEDURE StellePointerEin (Puff: einPufferPointer;
- ⓪@l: einLinePointer;
- ⓪@offset: CARDINAL);
- ⓪
- ⓪ PROCEDURE SucheZeilenNummer (Puff: einPufferPointer;
- ⓪=Zeile: einLinePointer;
- ⓪=VAR Nummer: CARDINAL);
- ⓪"(* Nummer der Zeile mit Zeiger >>Zeile<< ermitteln *)
- ⓪
- ⓪ PROCEDURE SucheZeilenPointer (Puff: einPufferPointer;
- ⓪>VAR Nummer: CARDINAL;
- ⓪>VAR Zeile: einLinePointer);
- ⓪"(* Pointer auf die Zeile mit Nummer Nummer suchen *)
- ⓪
- ⓪ PROCEDURE LineDown (Puff: einPufferPointer);
- ⓪"(* eine Zeile nach unten *)
- ⓪
- ⓪ PROCEDURE LineUp (Puff: einPufferPointer);
- ⓪"(* eine Zeile nach oben *)
- ⓪
- ⓪ PROCEDURE DeleteLine (Puff: einPufferPointer;
- ⓪6VAR LoeschZeile: einLinePointer;
- ⓪6zeigen, puffern: BOOLEAN);
- ⓪"(* loesche die aktuelle Zeile und gehe in die naechste *)
- ⓪
- ⓪ PROCEDURE InsertLine (Puff: einPufferPointer;
- ⓪6REF z: ARRAY OF CHAR;
- ⓪6Indent: BOOLEAN;
- ⓪ (* Dieser Parameter ist scheinbar redundant, doch soll AutoIndent
- ⓪#oft explizit abgeschaltet sein, z. B. beim Fileeinlesen *)
- ⓪6zeigen: BOOLEAN;
- ⓪6adjustMerkpunkte: BOOLEAN);
- ⓪"(* fuege z nach der laufenen Zeile ein *)
- ⓪
- ⓪ PROCEDURE ScrollDown (Puff: einPufferPointer; z: CARDINAL);
- ⓪"(* gehe um z Zeilen nach oben *)
- ⓪
- ⓪ PROCEDURE ScrollUp (Puff: einPufferPointer; z: CARDINAL);
- ⓪"(* gehe um z Zeilen nach unten *)
- ⓪
- ⓪ PROCEDURE DoBackspace (Puff: einPufferPointer);
- ⓪"(* Fuehre Backspace aus, ev. Zeilen zusammenhaengen *)
- ⓪
- ⓪ PROCEDURE DoDelete (Puff: einPufferPointer);
- ⓪"(* Fuehre Delete aus, ev. Zeilen zusammenhaengen *)
- ⓪
- ⓪ PROCEDURE DoCR (Puff: einPufferPointer; zeigen: BOOLEAN;
- ⓪0VAR returnX: CARDINAL);
- ⓪"(* Spalte Zeile bei Cursorposition, gehe zum Anfang naechste Zeile *)
- ⓪
- ⓪ (* END EditKernel. *)
- ⓪
- ⓪ (* DEFINITION MODULE EditUtil; *)
- ⓪
- ⓪
- ⓪ PROCEDURE LoeschePuffer (p: einPufferPointer);
- ⓪ PROCEDURE GetKey (zeile: CARDINAL;
- ⓪2info: ARRAY OF CHAR;
- ⓪2set: CharSet;
- ⓪2VAR ch: CHAR);
- ⓪ PROCEDURE ReadNum (zeile: CARDINAL; REF info: ARRAY OF CHAR; VAR n: CARDINAL);
- ⓪ PROCEDURE Kopiere (Puff: einPufferPointer; ClipBoard: einPufferPointer);
- ⓪ PROCEDURE KopiereLoesche (Puff, ZielPuff: einPufferPointer;
- ⓪:kopiere, loesche: BOOLEAN);
- ⓪ PROCEDURE MarkiereBlockAnfang (Puff: einPufferPointer);
- ⓪ PROCEDURE MarkiereBlockEnde (Puff: einPufferPointer);
- ⓪ PROCEDURE LoescheBlockMarken (Puff: einPufferPointer);
- ⓪ PROCEDURE BlockMarkiert (Puff: einPufferPointer): BOOLEAN;
- ⓪ PROCEDURE InBlockMarken (Puff: einPufferPointer): BOOLEAN;
- ⓪ PROCEDURE RueckeBlockEin (Puff: einPufferPointer);
- ⓪ PROCEDURE SucheWort (Puff: einPufferPointer;
- ⓪5w: ARRAY OF CHAR; VAR gefunden: BOOLEAN;
- ⓪5key: einTasteneintrag (* cursup, cursdown, return *));
- ⓪"(* Stellt LaufendeZeile auf gefundenes Wort ein *)
- ⓪
- ⓪ PROCEDURE TauscheWort (Puff: einPufferPointer;
- ⓪7VAR s, t: ARRAY OF CHAR; maxx: CARDINAL;
- ⓪7modus: einTasteneintrag);
- ⓪
- ⓪ (* END EditUtil.*)
- ⓪
- ⓪ (* DEFINITION MODULE EditScreen; *)
- ⓪
- ⓪ PROCEDURE InsertZeile (Puff: einPufferPointer; n: CARDINAL);
- ⓪ PROCEDURE DeleteZeile (Puff: einPufferPointer; n: CARDINAL);
- ⓪ PROCEDURE WriteString (xoff: CARDINAL; (*Control, Tabs: BOOLEAN;*)
- ⓪6VAR s: ARRAY OF CHAR);
- ⓪ PROCEDURE MakeHighLine (puff: einPufferPointer; (*Control, Tabs: BOOLEAN;*)
- ⓪8zeile: CARDINAL; VAR inhalt: ARRAY OF CHAR);
- ⓪ PROCEDURE SchirmSchreiben (Puff: einPufferPointer;
- ⓪;Start: einLinePointer;
- ⓪;Anzahl: CARDINAL;
- ⓪;SOffset: INTEGER);
- ⓪"(* schreibe den Bildschirm neu *)
- ⓪"
- ⓪ PROCEDURE High (v, h: CHAR; n: ARRAY OF CHAR);
- ⓪ PROCEDURE HighL (v, h: CHAR; n: ARRAY OF CHAR);
- ⓪
- ⓪ VAR tabjump: CARDINAL;
- ⓪
- ⓪ (* END EditScreen. *)
- ⓪
- ⓪ (* DEFINITION MODULE EditLine; *)
- ⓪
- ⓪ (* Definitionsmenge fuer SkipBlank sollte parametrisiert werden *)
- ⓪
- ⓪ PROCEDURE Prompt (zeile: CARDINAL;
- ⓪1info: ARRAY OF CHAR;
- ⓪1VAR eingabe: ARRAY OF CHAR;
- ⓪1VAR key: einTasteneintrag);
- ⓪
- ⓪ PROCEDURE Edit (Puff: einPufferPointer;
- ⓪0VAR s: ARRAY OF CHAR; (* Zu editierende Zeile *)
- ⓪4zeighelp, DoVorlauf: BOOLEAN; (* Prompt anzeigen *)
- ⓪0VAR info: ARRAY OF CHAR; (* aktuelle Information *)
- ⓪0VAR overflow: BOOLEAN; (* Zeilenüberlauf *)
- ⓪0VAR marginoverflow: BOOLEAN; (* Bildschirmüberlauf *)
- ⓪4exit: BOOLEAN;
- ⓪0VAR mx, my: CARDINAL; (* MausPos vor Tastendruck *)
- ⓪0VAR termch: einTasteneintrag); (* FunktionsCode,
- ⓪Jmit dem die Zeile abgebrochen wurde *)
- ⓪ (* END EditLine. *)
- ⓪
- ⓪ END GMEKernel.
- ⓪ ə
- (* $FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$00000A84$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89A$FFEDF89AÇ$00000BB5T.......T.......T.......T.......T.......T.......T.......T.......T.......T.......$FFEA150D$00000A9B$00000AC8$00000A71$FFEB1170$00000B91$FFEB1170$00000BB5$00000107$FFEAA45E$FFEA150D$FFEB1170$00000A89$FFEA150D$FFEA150D$FFEA150DáÇé*)
-